home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 364_01 / ca_decl.h < prev    next >
C/C++ Source or Header  |  1992-05-24  |  6KB  |  165 lines

  1.  
  2. /*   FUNC_CA.C   */
  3. struct func *main_loop(FILE *fp, FILE *rptfp, char *module);
  4. static void make_function_token(char *token_ptr, char *function_name);
  5. static void print_userdefs(FILE *rptfp, char *module);
  6. struct func *fill_func_struct(char *token_ptr, int lineno, char *module);
  7. static struct func *syntax(char *p, char * big_buf, char *module,
  8.                      struct func *top,  FILE *rptfp);
  9. static void ini_Globals(void);
  10. int func_def(char *p, char *module, struct func **top,
  11.                    char *big_buf, FILE *rptfp);
  12.  
  13.  
  14. /*   LINKL_CA.C   */
  15. void print_ll (struct func *top, FILE *rpt);
  16. struct func *store_linked_list( struct func *i, struct func *top);
  17. struct globals_list *store_ll_globals( struct globals_list *i,
  18.                         struct globals_list *top);
  19. void print_calls_from(struct func *func_start, FILE *rptfp);
  20. void print_fnptrs(struct func *func_start, FILE *rptfp);
  21. static void prn_calls__fnptrs(struct func *func_start, int which, FILE *rptfp);
  22.  
  23.  
  24. /*   PARSE_CA.C   */
  25. void parse(FILE *fp, FILE *rpt, unsigned end_func, unsigned next_function,
  26.                             unsigned *current_line);
  27. int get_token(void);
  28. int push_fnptr(char *p, char *buffer, char *func_name);
  29. static struct GLoc_fnptr_stack pop_fn_name(char *token);
  30. int iswhite(char c);
  31. int isliteral(char *pgmline);
  32. int isdelim(char c);
  33. int is_in(char c, char *s);
  34. void store_calls_from(struct func *function);
  35. int key_word(char *token);
  36. static void process_calls_from( struct func * fn, FILE *rpt,
  37.                     char *token, int current_line);
  38. static int ini_GLstack(void);
  39. void Globfnptrpush(char *p, char *token);
  40. void prn_all__fnptrs(FILE *rptfp);
  41.  
  42.  
  43. /*   XRF_CA.C   */
  44. void xrf(struct func *func_start, struct filespec *c_file_start, FILE *rptfp);
  45. void link_by_module(struct func *function);
  46. static int files_match(char *path, char *module);
  47. static FILE *ini_cfile(char *path, FILE *rptfp, unsigned func_line,
  48.                             unsigned *count);
  49. int binary_search(char **item, int count, char *key);
  50. static char **create_bsearch_array(struct func *top);
  51. struct func *skip_fnptrs(struct func *func_top);
  52. int infunclist(char *token_string);
  53.  
  54.  
  55. /*   GLOB_CA.C   */
  56. struct func * record_variables(FILE *fp, FILE *rptfp,
  57.             struct func *start, struct func **func_alphatop);
  58. static int xt_struct_union(char *p, int __type);
  59. static int process_vars(char *p, int token_pos, struct func *funcptr,
  60.             int __type, int line_num, char storage, FILE *rptfp);
  61. static int storage_class(char *p, struct func *func_top, int line_num,
  62.                         int *__type,  FILE *rptfp);
  63. struct globals_list *fill_globals_struct(char *token, struct func *funcptr,
  64.    int mods[_MAX_MODS], int __type, int line_num, char storage, FILE * rptfp);
  65. void print_alphab_globals(struct globals_list *top, FILE *rptfp);
  66. static size_t isolate_strun(char *ptr, int __type);
  67. int is_nextstatement(char **p);
  68. int is_includeF(char *p, FILE * hold_fp);
  69. static int sign_or_ld(char *p , int t_pos, int *__type);
  70. void print_modifiers(int alphab, int mods[_MAX_MODS], int __type, FILE *rptfp);
  71. int vol_const(char *p, struct func *func_top, int line_num,
  72.                     int *__type, FILE *rptfp);
  73. static int make_complex_decl(char *p);
  74. static char *is_comment(char *p);
  75. static char * is_closed_comment(char * p);
  76. static char *comment_error(struct func *func_top, unsigned lineno, char *p);
  77. static void glob_ca_msgs(int Line, char * Mod, struct func *func_top );
  78.  
  79.  
  80. /*   TDEF_CA.C   */
  81. int get_typedef(char *test);
  82. int tdeftest(char *test, int tdef_open);
  83. int check_types(char *token_ptr, int *typenum);
  84. int intypeslist(char *token);
  85. int get_defines(char *test);
  86. int insert_type(char *token);
  87.  
  88.  
  89. /*   INTF_CA.C   */
  90. void main(int argc, char **argv);
  91. struct filespec *get_modules(void);
  92. struct filespec  *extract_file_names(char *file_string);
  93. void instructions (void);
  94. static int reallocate(char *file_string, size_t strL);
  95. void loop_through_modules (struct filespec *top, struct func **func_start,
  96.                                 FILE *rptfp);
  97. int paginate(FILE *rptfp);
  98. void formfeed(int line_count, FILE *rptfp);
  99. static char *argv_cat(int argc, char **argv);
  100. FILE *make_rptfile(char *path);
  101. FILE *open_c_file(char *filepath, FILE *rptfp);
  102. void get_new_path(struct filespec *top);
  103. static void crt_grc(int *row, int *col);
  104. void relocate(void);
  105. void handle_switches(char ***cmdline_switch, int *argc);
  106. char *parse_switch(char ***cmdline_switch, int *argc, char *p);
  107. char *readmakefile(char *file_string);
  108. char *makepathvar(char *inpath, char *pathvar);
  109. static FILE * open_reportfile(int rpt_number);
  110.  
  111.  
  112. /*   UTIL_CA.C   */
  113. char * get_envpath(int service, char *env_var, char *fname);
  114. FILE *setincludefile(char *includebuf);
  115. FILE *open_includef(char *filespec);
  116. FILE *get_redfp(void);
  117. int is_include(char *token_ptr, FILE *holdfp);
  118. int close_include(FILE *hold_fp, FILE **fp, FILE *rptfp, char *module);
  119. void date_time(FILE *rptfp );
  120. void heading(FILE *rptfp, char *fname);
  121. int countbrackets(char *buffer);
  122. void print_headings(int head_no, FILE *rptfp );
  123. char * isolate_token(char * p, char **end_token);
  124. int test_token( char *token, char *type);
  125.  
  126.  
  127. /*   UTLG_CA.C   */
  128. int is_prototype(char *p);
  129. int get_dimensions(char *ptr, int count);
  130. char * white_out(char *token);
  131. int is_variable(char *token);
  132. int check_pointers(char *p, int *ptr_count);
  133. char *get_modifiers(int final_check, char *ptr, int mods[_MAX_MODS]);
  134. int push_usertype(char * user_type);
  135. char *pop_usertype(int type_number);
  136. int is_complex_decl(char *p);
  137. void ini_characterset(void);
  138. int complex_value(char *p);
  139. int is_identifier(char **p);
  140.  
  141.  
  142. /*   IFDEF_CA.C   */
  143. int is_else_if(char *p, int in_define);
  144. static int def_value(char *p, int if_type);
  145. static IF_DEF get_definition(char *p, int if_type);
  146. static int ifdef_true(IF_DEF ifdefs);
  147. static void push_ifdef(char *p, unsigned int status);
  148. static int pop_ifdef_status(char *p);
  149. void ini_if_def_stack(void);
  150. void free_if_def_stack(void);
  151. int skipifdefn(char *p, int skipdef_status);
  152.  
  153.  
  154. /*   EXIT_CA.C   */
  155. void exit_ca(int exit_code, char *exit_str);
  156. static void prn_exitmsg(FILE *output, char const *function, char const *module,
  157.             char const *xit_msg, char *exit_str, int exit_code);
  158. void nullptrxit(char *msg, char *filename, unsigned lineno);
  159.  
  160.  
  161. /*   TYPES_CA.C   */
  162. int data_type_ (char *test, int *__type);
  163. int _modifier (char *test, int t_pos);
  164.  
  165.